package com.ruoyi.canteen.mapper;

import java.util.List;
import com.ruoyi.canteen.domain.CanteenNotice;
import org.apache.ibatis.annotations.Select;

/**
 * 公告Mapper接口
 * 
 * @author zhangw
 * @date 2021-10-08
 */
public interface CanteenNoticeMapper 
{
    /**
     * 查询公告
     * 
     * @param id 公告主键
     * @return 公告
     */
    public CanteenNotice selectCanteenNoticeById(Long id);

    /**
     * 查询公告列表
     * 
     * @param canteenNotice 公告
     * @return 公告集合
     */
    public List<CanteenNotice> selectCanteenNoticeList(CanteenNotice canteenNotice);

    /**
     * 新增公告
     * 
     * @param canteenNotice 公告
     * @return 结果
     */
    public int insertCanteenNotice(CanteenNotice canteenNotice);

    /**
     * 修改公告
     * 
     * @param canteenNotice 公告
     * @return 结果
     */
    public int updateCanteenNotice(CanteenNotice canteenNotice);

    /**
     * 删除公告
     * 
     * @param id 公告主键
     * @return 结果
     */
    public int deleteCanteenNoticeById(Long id);

    /**
     * 批量删除公告
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCanteenNoticeByIds(Long[] ids);

    /**
     * 查询最新一条公告信息
     * 门店ID为空时，显示首页公告信息
     * @param mdId 门店ID
     * @return
     */
    @Select("<script>" +
            "SELECT id,md_id,title,content,create_time from canteen_notice " +
            "where delete_time is null and is_defalut = 1 " +
            "<if test=\'mdId != null\'> and md_id = #{mdId} " +
            "</if> " +
            "<if test=\'mdId == null\'> and md_id is null " +
            "</if> " +
            "limit 1" +
            "</script>")
    public CanteenNotice selectCanteenNoticeLastOne(Long mdId);
}
